package com.xinruke.hostels.dailymanage.interfaces.dto.inhotel;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinruke.hostels.dailymanage.interfaces.vo.TeamInHotelRoomVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName TeamInHotelDTO
 * @CreateDate 2019/7/15
 * @Author FengXinQiang
 * @Version V1.0.0.0
 * @Decription 团队入住请求
 */
@ApiModel("团队入住请求")
@Data
public class TeamInHotelDTO {
    @ApiModelProperty(value = "预订单id")
    private Integer yudingId;

    @ApiModelProperty(value = "入住类型：1:全天；2长包；3自用；4免费", required = true)
    @NotNull(message = "入住类型不能为空")
    private Byte ruzhuleixing;

    @ApiModelProperty(value = "预抵时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "预抵时间不能为空")
    private Date ruzhushijian;

    @ApiModelProperty(value = "预离时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @NotNull(message = "预离时间不能为空")
    private Date likaishijian;

    @ApiModelProperty(value = "团队名称", required = true)
    @NotNull(message = "团队名称不能为空")
    private String tuanduimingcheng;

    @ApiModelProperty(value = "预订人姓名", required = true)
    @NotNull(message = "预订人姓名不能为空")
    private String yudingrenxingming;

    @ApiModelProperty(value = "预订人电话", required = true)
    @NotNull(message = "预订人电话不能为空")
    private String yudingrendianhua;

    @ApiModelProperty(value = "证件类型: 1身份证，2军官证", required = true)
    @NotNull(message = "证件类型不能为空")
    private Byte zhengjianleixing;

    @ApiModelProperty(value = "证件号", required = true)
    @NotNull(message = "证件号不能为空")
    private String zhengjianhao;

    @ApiModelProperty(value = "备注")
    private String beizhu;

    @ApiModelProperty(value = "付款方式:1现金；2银行卡", required = true)
    @NotNull(message = "付款方式不能为空")
    private Byte fukuanfangshi;

    @ApiModelProperty(value = "押金", required = true)
    @NotNull(message = "押金不能为空")
    private BigDecimal yajin;

    @ApiModelProperty(value = "房间集合", required = true)
    @NotNull(message = "房间集合不能为空")
    private List<TeamInHotelRoomVO> roomVOList;

}
